import java.util.Vector;




public class ListaValoraciones {
	public Vector<ValoracionTablero> valoraciones;
	
	ListaValoraciones(){
		valoraciones = new Vector<ValoracionTablero>();
	}
	
	boolean existeValoracion(int[] parAtributos){
		boolean existe = false;
		for (int i = 0; i < valoraciones.size(); i++){
			if (valoraciones.get(i).esElTablero(parAtributos)){
				existe = true;
				break;
			}
		}
		return existe;
	}

	void agregarValoracion(int[] parAtributos, double parValoracion){
		//System.out.println("Agrega");
		valoraciones.add(new ValoracionTablero(parAtributos, parValoracion));
	}
	
	void actualizarValoracion(int[] parAtributos, double parValoracion){
		boolean actualizado = false;
		//System.out.println("--------------");
		//System.out.println("Valoracion: " + parValoracion);
		for (int i = 0; i < valoraciones.size(); i++){
			if (valoraciones.get(i).esElTablero(parAtributos)){
				ValoracionTablero vt = valoraciones.get(i);
			//	System.out.println("Valoracion anterior: " + vt.valoracion);
				vt.valoracion = vt.valoracion + 0.2 * (parValoracion - vt.valoracion);
				if (vt.valoracion > 1){
					vt.valoracion = 1;
				}
				if (vt.valoracion < -1){
					vt.valoracion = -1;
				}
			//	System.out.println("Valoracion nueva: " + vt.valoracion);
				actualizado = true;
				break;
			}
		}
		if (!actualizado){
			System.out.println("Error: no se encontro valoracion para el tablero, no se pudo actualizar");
		}
	}
	
	double obtenerValoracion(int[] parAtributos){
		double resul = 0;
		for (int i = 0; i < valoraciones.size(); i++){
			if (valoraciones.get(i).esElTablero(parAtributos)){
				resul = valoraciones.get(i).valoracion;
				break;
			}
		}
		return resul;
	}
}
